/**
 * 
 */
package com.gragra.sampling.binary;
import com.gragra.sampling.PopulationProbabilityAssigner;
import com.gragra.sampling.PopulationSamplingStructure;
/**
 * @author Christoph Teichmann
 * 15.09.2013
 */
public interface ConvertSample
{
	/**
	 * 
	 * @param pa 
	 * @param binarySplitGibbs 
	 * @return
	 */
	String getBest(PopulationSamplingStructure str, PopulationProbabilityAssigner pa);
	/**
	 * 
	 * @param pa 
	 * @param binarySplitGibbs 
	 * @return
	 */
	String minRisk(PopulationSamplingStructure str, PopulationProbabilityAssigner pa);
	/**
	 * 
	 * @param binarySplitGibbs
	 */
	void addSample(PopulationSamplingStructure str);
	/**
	 * 
	 * @param binarySplitGibbs
	 * @param thread
	 */
	void setBest(PopulationSamplingStructure str, int thread);
	/**
	 * 
	 * @param goldTwo
	 * @return
	 */
	double getNumberSeen(String goldTwo);
}